package com.diditech.iov.gps.app.cmd.service;

import com.diditech.iov.gps.api.cmd.domain.ClientCmdDTO;
import com.diditech.iov.gps.api.device.domain.DeviceCmd;
import com.diditech.iov.gps.api.report.domain.ReportCmdData;

import java.util.Date;
import java.util.List;

/**
 * 指令服务接口类
 * @author zhjd <br>
 * @date 2021/8/12 <br>
 */
public interface CmdService {

    /**
     * 校验指令
     * @date 2022/3/22
     * @author zhjd
     */
    void validateCmdList(ClientCmdDTO[] clientCmdList);

    /**
     * 获取指令详情
     * @date 2021/2/23
     * @author zhjd
     */
    List<DeviceCmd> getCmds(String[] cmdIds, String clientId);

    /**
     * 批量设备指令查询
     * @date 2023/4/18
     * @author zhjd
     */
    List<ReportCmdData> getCmdReport(List<String> deviceNums, Date beginTime, Date endTime);

    List<ClientCmdDTO> saveCmd(List<ClientCmdDTO> clientCmdList);
}
